package com.cleaningcloud.cld.mapper;

import java.util.List;
import com.cleaningcloud.cld.domain.CldContract;

/**
 * 合同Mapper接口
 * 
 * @author cleaningcloud
 * @date 2024-10-06
 */
public interface CldContractMapper 
{
    /**
     * 查询合同
     * 
     * @param contractId 合同主键
     * @return 合同
     */
    CldContract selectCldContractByContractId(Long contractId);

    /**
     * 查询合同列表
     * 
     * @param cldContract 合同
     * @return 合同集合
     */
    List<CldContract> selectCldContractList(CldContract cldContract);

    /**
     * 新增合同
     * 
     * @param cldContract 合同
     * @return 结果
     */
    int insertCldContract(CldContract cldContract);

    /**
     * 修改合同
     * 
     * @param cldContract 合同
     * @return 结果
     */
    int updateCldContract(CldContract cldContract);

    /**
     * 删除合同
     * 
     * @param contractId 合同主键
     * @return 结果
     */
    int deleteCldContractByContractId(Long contractId);

    /**
     * 批量删除合同
     * 
     * @param contractIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteCldContractByContractIds(Long[] contractIds);


    /**
     * 根据项目id查询正在履约的合同
     * @param projectId
     * @return
     */
    CldContract selectCldContractByProjectId(Long projectId);
}
